/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:  ADEC模块内部头文件
  Function List:
            
*******************************************************************************/
              
#ifndef AUDIO_HI_ADEC_H
#define AUDIO_HI_ADEC_H

/*=============================================================================
                                 Includes                                  
==============================================================================*/

/*=============================================================================
                               Macro Definition
==============================================================================*/

/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/

/*=============================================================================
                             Function Definition                                  
==============================================================================*/

/*******************************************************************************
    Function:     AUDIODEC_Create
    Description:  创建ADEC通道
    Input:        - adecChn: ADEC channel 编号
                  - pAdecAttr: adec参数
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
int AUDIODEC_Create(ADEC_CHN adecChn, ADEC_CHN_ATTR_S *pAdecAttr);

/*******************************************************************************
    Function:     AUDIOENC_Destroy
    Description:  注销ADEC通道
    Input:        - adecChn: ADEC channel 编号
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
int AUDIODEC_Destroy(ADEC_CHN adecChn);

/*******************************************************************************
    Function:     AUDIODEC_BindAo
    Description:  adec通道绑定ao通道
    Input:        - adChn: adec编号
                  - aoDev: ao设备号
                  - aoChn: ao通道号             
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
int AUDIODEC_BindAo(ADEC_CHN adChn, AUDIO_DEV aoDev, AO_CHN aoChn);

/*******************************************************************************
    Function:     AUDIODEC_UnbindAo
    Description:  adec通道解除绑定ao通道
    Input:        - adChn: adec编号
                  - aoDev: ao设备号
                  - aoChn: ao通道号                  
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
int AUDIODEC_UnbindAo(ADEC_CHN adChn, AUDIO_DEV aoDev, AO_CHN aoChn);

#endif  /* AUDIO_HI_ADEC_H */
